解密:站在资金的视角看支付(上)
01
—
前言
提起在线支付,大家一定不陌生,这个行业发展了快20年了,最近又推出了“碰一碰”支付,而且随着微信和淘宝破冰,京东和支付宝和解,整个支付生态一定会更加开放。但绝大多数人对支付的了解应该只是浮在水面上的冰山一角,做为支付行业从业者,今天来带大家看看冰山下面的部分:欢迎走进“资金管理”这个神秘领域。
02
—
支付和资金的关系
这里所说的“资金”或“资金管理”不是特指某一个团队或某一款产品,你可以理解为支付一定要与钱打交道吧?我暂且把在支付流程中与钱相关的东西都放进一个黑盒子里,为了便于叙述,给这个黑盒子取一个名字叫“资金平台”,再一步步解密黑盒子里放了哪些东西。在正式解密之前,我们先看看这个黑盒子(“资金平台”)在支付流程中是如何与上下游交互的。
举个例子,小明口渴了,进711买了一瓶水,用微信支付向收银员付了5元钱
整个流程大致上像是这样:
首先这个资金平台是服务于支付公司(比如微信支付)的,理论上每个支付公司都应当有个资金平台,架构上或许多少有些不同,但底层原理上是一致的。
那么资金平台需要做些什么呢?如果只从最浅显的角度看,应该至少完成这1件事:把小明支付的5元钱转给711。
问题就来了,就这么简单,支付系统不能自己做吗,为什么一定要交给资金平台?直觉告诉我们,银行、微信支付、711属于不同的体系,用户的钱不会乖乖的自己飞到711的账户里,这里面一定还有许多“猫腻”,不着急,下面就来一点点解密。
在此之前先插个题外话:上图3.1向银行发起扣款看起来也是与资金相关的动作,为什么不是资金平台来完成?这是因为扣款是支付主链路的关键环节,支付强依赖扣款结果来确认支付状态,而且扣款指令只是完成了与银行的信息流交互,并未真正发生资金流转。
03
—
资金平台的职责
>> 3.1 备付金账户管理
首先还是要回答这个问题:钱是怎么从用户银行卡转到711的?
银行当然不会直接对接711,中间需要经过微信支付进行中转,根据央行的规定,第三方支付的资金都需要受到两联(银联、网联)监管,微信支付需要在央行开设一个备付金账户,所有未结算的资金都会沉淀在备付金账户里。
参考:
中国人民银行公告〔2013〕第6号《支付机构客户备付金存管办法》
中国人民银行公告〔2020〕第3号 (修订)
中国人民银行令〔2021〕第1号《非银行支付机构客户备付金存管办法》同时废止了2013年第6号文件
资金平台需要负责对备付金账户进行管理,说细一点就是要管理备付金账户的生命周期,包括:
账户开立
账户信息管理
冻结解冻。中国境内账户有规定如果长时间没有发生动账,账户会被自动冻结。因此需要及时监控动账和解冻。
账户销户
实际上一家支付公司不可能只开一个备付金账户,在断直连以前账户都是直接开在商业银行的,断直连后也仍有许多场景需要在商业银行开户。理论上说只有开在央行的账户才叫备付金账户,大家平时交流说习惯了会把普通账户也叫做备付金账户。
不管怎么样,这些账户里都是有存钱的,都是物理账户,为了便于管账,每一个物理账户还会在公司内部开设一个虚拟“影子户”或者叫“头寸户”。
>> 3.2(客户)账户管理
小明做为微信支付的用户,在微信支付里有个钱包账户,就是我们平时看到的这个:
每个用户在资金平台内都有一个“余额户”,充值、收到红包时账户就会加钱,使用余额支付时账户就会扣钱。
小明买水如果用银行卡支付,就不涉及余额户的变动;如果用余额支付,则余额-5。
在商家这一侧,每一个在微信支付入驻的商户也会有个“余额户”(我个人没有开通过商户收款,如果有人开通过的希望可以发一个截图给我作为例子🙏)。
所谓“客户账户”就是指提供给客户使用的账户,包括个人用户和商户。
与“客户账户”对应的叫做“内部户”,内部户不需要开放给客户使用,只用于内部记账,在下面“记账”的章节会再详细介绍。
至此,我们可以用一张图描述资金账户体系:
这里的账户体系所包含的,是企业自己需要管理的账户。像小明自己在工商银行开设的账户则不属于管辖范围。
>> 3.3 结算
有了上面的准备工作后,我们就可以开始结算了。
结算,就是把资金结给商户的过程。
根据商户入驻时签订的合同,每个商户都有相应的结算周期和结算方式。
- 结算周期:例如实时结算,T+1结算
- 结算方式:结算到卡,结算到余额
假设T+1结算,整个过程看起来像这样:
如果结算到余额,直接商户余额+20,如果结算到卡,根据行业规范要求信息流需要经过银网联,再由银网联进行统一清算。
>> 3.4 对账
资金平台很重要的一个职责是保证资金安全。我们先来看看小明支付的5元是怎么进到微信支付的备付金账户的:
前面说到第三方支付的资金收到两联监管,每一笔交易都需要上报,网联在这里面还承担了资金清算的职责。它会算清楚工商银行和财付通的应收应付账款,一定时间内进行汇总后一次性打款(对应5.1和5.2)。
可以看到清算的工作交给了网联,支付公司只是被动接受消息(对应3.2)和收到账款(对应5.2),虽说网联是国家队,但有没有极小的可能性它也会算错?例如程序员写了一个bug之类的?
为了避免这种情况发生,我们就需要进行资金对账,使用标准的三层对账模式:
第一层:明细对账,我方的【交易明细】和网联的【清算明细】进行逐笔明细对账,对账的结果生成一个【汇总账单】
第二层:资金对账,【汇总账单】和备付金银行入账后会生成的【银行账单】进行汇总级的对账
第三层:余额对账,今天的银存日终余额 = 昨天银存日终余额 + 今日发生额
三层对账保证了每一笔明细、每一笔账款的准确性,详细还可以查看我的另一篇文章(跟着小帅学账务(4) 资金对账)
不只是小明的付款会有对账,前面提到的结算过程也会对账,只要发生了实体资金变动的都需要进行对账。因此有时也把对账称为账实核对。
>> 3.5 记账
上面的支付过程有个小问题,如果是T+1结算,从小明支付成功到真正结算还隔着老长时间,在这中间买水的5元钱去哪了?
这就要分实体资金和虚拟资金来说明了。
实体资金,也就是真正意义上的钱在哪,这个要看网联的清算周期
1. 网联完成清算后,实体资金才会进到备付金账户
2. 备付金账户的钱,需要T+1结算后给商户(实际上这里也需要等网联清算完成才能真正到账)
实体资金的流转看起来像这样:
可以看到实体资金的流转并不总是那么实时的,有一些“真空期”:钱在路上了,至于到哪了咱也不知道。为了能更好地管理整个资金的生命周期,降低资金风险,就需要引入虚拟资金流,也就是我们所说的“记账”。
上面提到小明支付成功后,但还未结算前,资金就沉淀在“商户待结算”里面,类似于“商户待结算”这样的账户,就是内部户。
我们尝试还原一下完整的记账过程,注意记账是以支付公司的视角去记的(假定商户是结算到余额):
细心观察可以发现,记账过程有这样的特点
1. 每次都记两个户,一个是借记(D)一个是贷记(C),这是因为记账过程用的是复式记账法,需要遵循“有借必有贷,借贷必相等”
2. 内部户有个账户类型的属性,标在表格里了 D表示借记账户,C表示贷记账户。账户类型与记账方向,同号为增,异号为减
3. 记账全部完成后,最终备付金头寸+5,商户余额+5,这与预期相符。
上面提到了实体资金流,那是否有虚拟资金流?
当然有,我们按照借记指向贷记的顺序,把所有相关的内部户串联起来,就形成了虚拟资金流。
如果你看懂了这个资金流,恭喜你,你对资金账务的理解就上升了一个阶段。如果看不懂也很正常,账务这一块确实比较难理解,或许(跟着小帅学账务(2) 资金流)这篇文章能够给你一些参考。
那么记账有什么用呢?
1. 更细粒度管理资金的流转,通过记账可以知道一笔资金现在到了哪个环节
2. 通过账户沉淀资金,可以推断是否存在资金风险,例如“应收待清算”账户长期沉淀大量资金,说明可能有合作机构未完成资金清算
3. 记账本身就是一种资金风险的防控手段,例如有人篡改了账户余额,通过余额和账务流水核对就可以发现。
4. 出财务报表
>> 3.6 会计核算
现在我们知道了一笔支付的钱怎么收进来,怎么结出去,怎么通过记账、对账来防范和识别风险,还有什么没做的吗?
确实还有一件事:如果账记错了怎么办?不仅会影响资金风险防控的效果,财务报表也会不准确,影响经营决策。
在会计学上是通过会计核算的方式来验证账本是否有问题。
讲到这其实已经和支付的主流程没什么关系了,会计核算完全是面向财务的一个领域,但做为资金平台不可缺少的一块重要拼图,我还是打算用很小的篇幅简单介绍一下。
简单来说,会计核算就是在做核对和统计。有这么几件事:
1. 借贷平衡校验。每一笔账需要保证满足“有借必有贷,借贷必相等”
2. 对内部户进行归类,形成一颗多叉树结构,叶子节点是所有的内部户,不断向上汇总。我们把非叶子节点都称作“科目”,父科目的总额=子科目汇总金额
3. 在总账上,必须满足借方余额=贷方余额。也就是会计恒等式:资产=负债+所有者权益
感兴趣的可以进一步搜索【资产负债表】、【利润表】、【现金流量表】,本文就不再继续延伸了。
04
—
总结
用一张图总结一下在支付流程中资金平台的职责和作用
05
—
写在最后
我本人在国内知名大厂有多年支付业务开发经验,未来也打算把这些经验总结为知识沉淀在公众号里。在这个AI时代,还在坚持手动码字的已经不多了,如果你觉得我写得还可以,帮忙顺手点一下“赞”和“在看”,如果还能关注和转发,就是对我最大的支持,感谢!